package com.huang.qqslidemenu;

import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.LinearLayout;

/**
 * Created by huangRZ on 2016/9/15.
 */
public class MyLinearLayout extends LinearLayout {

    public MyLinearLayout(Context context) {
        super(context);
    }

    public MyLinearLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    private SlideMenu slideMenu;

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        //如果是打开状态，则消耗该次触摸事件
        if (slideMenu != null && slideMenu.getDragState() == SlideMenu.DragState.Open){
            if (event.getAction() == MotionEvent.ACTION_UP){
                slideMenu.close();//在打开状态下，点击slideMain，直接关闭slideMenu
            }
            return true;
        }
        return super.onTouchEvent(event);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        //如果slideMenu打开则应该拦截并消费掉该控件的触摸事件，则触摸事件不会再往下分发
        return slideMenu != null && slideMenu.getDragState() == SlideMenu.DragState.Open
                ||super.onInterceptTouchEvent(ev);
    }

    public void setSlideMenu(SlideMenu slideMenu){
        this.slideMenu = slideMenu;
    }
}
